package Class::Scaffold::App::Test::Classes;

use warnings;
use strict;
use FindBin '$Bin';
use Test::More;
use Test::CompanionClasses::Engine;


our $VERSION = '0.03';


use base 'Class::Scaffold::App::Test';


__PACKAGE__
    ->mk_array_accessors(qw(inherited))
    ->mk_scalar_accessors(qw(lib));


use constant DEFAULTS => (
    lib => "$Bin/../lib",   # two levels, we live in t/embedded/
);

use constant GETOPT => ('exact');


sub app_code {
    my $self = shift;
    $self->SUPER::app_code(@_);
    Test::CompanionClasses::Engine->new->run_tests(
        exact     => $self->opt->{exact},
        lib       => $self->lib,
        filter    => [ @ARGV ],
        inherited => [ $self->inherited ],
    );
}


1;


__END__

{% USE p = PodGenerated %}

=head1 NAME

{% p.package %} - large-scale OOP application support

=head1 SYNOPSIS

    {% p.package %}->new;

=head1 DESCRIPTION

=head1 METHODS

=over 4

{% p.write_methods %}

=back

{% p.write_inheritance %}

{% PROCESS standard_pod %}

=cut

